// vue.config.js
const path = require('path')

// 修改webpack配置
module.exports = {
  chainWebpack: config => {
    if (process.env.NODE_ENV === 'production') {
      // 为生产环境修改配置...
    } else {
      // 为开发环境修改配置...
      // 只会在 开发环境中生效，当我们使用 build 去打包一个项目的时候，那么这里的配置不会生效
    }

    // 设置全局别名
    config.resolve.alias
      .set('@img', path.join(__dirname, 'src/assets/img')) //* 给图片路径设置别名
      .set('@css', path.join(__dirname, 'src/assets/css'))
      .set('@js', path.join(__dirname, 'src/assets/js'))
      .set('@iconfont', path.join(__dirname, 'src/assets/iconfont'))
      .set('@com', path.join(__dirname, 'src/components'))  //组件
      .set('@', path.join(__dirname, 'src')) //* 输入个格式
  },

  //端口、开发环境下代理转发配置
  devServer: {
    host: '127.0.0.1',   // vue部署的主机地址
    port: '7070',        // vue运行时端口
    // 配置代理转发
    // 解决跨域问题
    // *****注意：只能解决开发环境下跨域问题***************************
    // ***********生产环境下：打包后，需要在nginx中配置代理转发********
    proxy: {
      '/mock/java': { // 匹配路径
        // 转发的目标主机地址
        // 将vue部署的主机地址替换为转发的目标主机地址
        target: 'http://localhost:4000',
        ws: true,
        // 允许跨域
        changOrigin: true,
        // 路径重写
        pathRewrite: {
          '^/mock/java': '/mock/java'
        }
      }
    }
  },


  // 全局css配置
  // 使用stylus的配置,不用可删除
  css: {
    loaderOptions: {
      stylus: {
        'resolve url': true,
        import: [
          // 引入自定义全局样式
          './src/assets/css/common_style',
          // 引入其它(如:cube-ui)全局样式
          // './src/theme',
        ]
      }
    }
  },

  // cub-ui配置
  // pluginOptions: {
  //   'cube-ui': {
  //     postCompile: true,
  //     theme: true
  //   }
  // },



}
